package leetcode_900;

/**
 *@author 周杨
 *LemonadeChange_860 买东西找零钱问题 只有5 10 和20的面额 问是否能正常交易
 *describe:贪心算法 有10块找10块 没有就找5块 AC 70%
 *2018年11月5日 上午10:41:03
 */
public class LemonadeChange_860 {
	public boolean lemonadeChange(int[] bills) {
        int count5=0;
        int count10=0;
        for(int bill:bills) {
        	if(bill==5)
        		count5++;
        	else if(bill==10) {
        		if(count5==0)
        			return false;
        		count10++;
        		count5--;
        	}
        	else {//给20 优先找10块
        		if(count10==0) {
        			if(count5<3)
        				return false;
        			count5-=3;//没有10块 只能找3个5块
        		}
        		else {//有1张以上的10块
        			if(count5==0)
        				return false;
        			--count10;
        			--count5;
        		}
        	}
        }
    	return true;
    }
}
